home *** CD-ROM | disk | FTP | other *** search
/ FishMarket 1.0 / FishMarket v1.0.iso / fishies / 626-637 / disk_632 / printfiles / source / prf_imsghandler.c < prev    next >
C/C++ Source or Header  |  1992-05-06  |  6KB  |  163 lines

  1. /* prf_imsghandler.c */
  2. /* V1.1 9-3-92 */
  3.  
  4. #include "prf.h"
  5.  
  6. long HandleImsg(struct prf_info *info)
  7. {
  8.  struct Gadget *gp;
  9.  long rc = CMD_NEUTRAL;
  10.  switch(info->imsg->Class)
  11.  {
  12.   case IDCMP_VANILLAKEY      :
  13.        switch(info->imsg->Code)
  14.        {
  15.         case KEY_ABOUT_L     :
  16.         case KEY_ABOUT_U     : rc = CMD_ABOUT;
  17.                                break;
  18.         case KEY_HEADL_L     :
  19.         case KEY_HEADL_U     : rc = CMD_HEAD;
  20.                                break;
  21.         case KEY_FOOTL_L     :
  22.         case KEY_FOOTL_U     : rc = CMD_FOOT;
  23.                                break;
  24.         case KEY_DATE_L      :
  25.         case KEY_DATE_U      : (info->flags & FLAG_DATE) ?
  26.                                (rc = CMD_DATE_OFF) : (rc = CMD_DATE_ON);
  27.                                break;
  28.         case KEY_TIME_L      :
  29.         case KEY_TIME_U      : (info->flags & FLAG_TIME) ?
  30.                                (rc = CMD_TIME_OFF) : (rc = CMD_TIME_ON);
  31.                                break;
  32.         case KEY_NAME_L      :
  33.         case KEY_NAME_U      : (info->flags & FLAG_FILE) ?
  34.                                (rc = CMD_NAME_OFF) : (rc = CMD_NAME_ON);
  35.                                break;
  36.         case KEY_PAGE_L      :
  37.         case KEY_PAGE_U      : (info->flags & FLAG_PAGE) ?
  38.                                (rc = CMD_PAGE_OFF) : (rc = CMD_PAGE_ON);
  39.                                break;
  40.         case KEY_LINE_L      :
  41.         case KEY_LINE_U      : (info->flags & FLAG_LINE) ?
  42.                                (rc = CMD_LINE_OFF) : (rc = CMD_LINE_ON);
  43.                                break;
  44.         case KEY_CRLF_L      :
  45.         case KEY_CRLF_U      : (info->flags & FLAG_CRLF) ?
  46.                                (rc = CMD_CRLF_OFF) : (rc = CMD_CRLF_ON);
  47.                                break;
  48.         case KEY_FF_L        :
  49.         case KEY_FF_U        : (info->flags & FLAG_FF) ?
  50.                                (rc = CMD_FF_OFF) : (rc = CMD_FF_ON);
  51.                                break;
  52.         case KEY_PRINT_L     :
  53.         case KEY_PRINT_U     : rc = CMD_PRINT;
  54.                                break;
  55.         case KEY_PITCH6      : rc = CMD_PITCH6;
  56.                                break;
  57.         case KEY_PITCH8      : rc = CMD_PITCH8;
  58.                                break;
  59.         case KEY_CPI10       : rc = CMD_10CPI;
  60.                                break;
  61.         case KEY_CPI12       : rc = CMD_12CPI;
  62.                                break;
  63.         case KEY_CPI15       : rc = CMD_15CPI;
  64.                                break;
  65.         case KEY_OPENPWD_L   :
  66.         case KEY_OPENPWD_U   : rc = CMD_OPENPWD;
  67.                                break;
  68.         case KEY_QUIT_L      :
  69.         case KEY_QUIT_U      : rc = CMD_QUIT;
  70.                                break;
  71.         case KEY_FILEREQ_L   :
  72.         case KEY_FILEREQ_U   : rc = CMD_FILEREQ;
  73.                                break;
  74.         case KEY_REMOVE_L    :
  75.         case KEY_REMOVE_U    : rc = CMD_REMOVE;
  76.                                break;
  77.  
  78.         default              : break;
  79.        }
  80.        break;
  81.   case IDCMP_CLOSEWINDOW     : if(info->imsg->IDCMPWindow == info->Pwd)
  82.                                  rc = CMD_CLOSEPWD;
  83.                                else
  84.                                  rc = CMD_QUIT;
  85.                                break;
  86.  
  87.   case IDCMP_GADGETDOWN      :
  88.        gp = (struct Gadget *)info->imsg->IAddress;
  89.        switch(gp->GadgetID)
  90.        {
  91.         case GD_Quality      :
  92.              rc = (info->imsg->Code == 0) ? CMD_DRAFT : CMD_LQ;
  93.              break;
  94.         case GD_Pitch      :
  95.              rc = (info->imsg->Code == 0) ? CMD_PITCH6 : CMD_PITCH8;
  96.              break;
  97.         case GD_cpi      :
  98.              rc = (info->imsg->Code == 0) ? CMD_10CPI :
  99.                   (info->imsg->Code == 1) ? CMD_12CPI : CMD_15CPI;
  100.         default: break;
  101.        }
  102.        break;
  103.   case IDCMP_GADGETUP        :
  104.        gp = (struct Gadget *)info->imsg->IAddress;
  105.        switch(gp->GadgetID)
  106.        {
  107.         case GD_Saveprefs    : rc = CMD_SAVEPREFS;
  108.                                break;
  109.         case GD_Linesperpage : rc = CMD_LINES;
  110.                                break;
  111.         case GD_Rmargin      : rc = CMD_RMARGIN;
  112.                                break;
  113.         case GD_Lmargin      : rc = CMD_LMARGIN;
  114.                                break;
  115.         case GD_PwdButton    : rc = CMD_OPENPWD;
  116.                                break;
  117.         case GD_quit         : rc = CMD_QUIT;
  118.                                break;
  119.         case GD_Gadget11     : rc = CMD_STR_INSERT;
  120.                                break;
  121.         case GD_Filereq      : rc = CMD_FILEREQ;
  122.                                break;
  123.         case GD_Remove       : rc = CMD_REMOVE;
  124.                                break;
  125.         case GD_About        : rc = CMD_ABOUT ;
  126.                                break;
  127.         case GD_Headline     : rc = CMD_HEADL ;
  128.                                break;
  129.         case GD_Footline     : rc = CMD_FOOTL ;
  130.                                break;
  131.         case GD_Date         : (info->flags & FLAG_DATE) ?
  132.                                (rc = CMD_DATE_OFF) : (rc = CMD_DATE_ON);
  133.                                break;
  134.         case GD_Time         : (info->flags & FLAG_TIME) ?
  135.                                (rc = CMD_TIME_OFF) : (rc = CMD_TIME_ON);
  136.                                break;
  137.         case GD_Filename     : (info->flags & FLAG_FILE) ?
  138.                                (rc = CMD_NAME_OFF) : (rc = CMD_NAME_ON);
  139.                                break;
  140.         case GD_Pagenumber   : (info->flags & FLAG_PAGE) ?
  141.                                (rc = CMD_PAGE_OFF) : (rc = CMD_PAGE_ON);
  142.                                break;
  143.         case GD_Linenumber   : (info->flags & FLAG_LINE) ?
  144.                                (rc = CMD_LINE_OFF) : (rc = CMD_LINE_ON);
  145.                                break;
  146.         case GD_CRLF         : (info->flags & FLAG_CRLF) ?
  147.                                (rc = CMD_CRLF_OFF) : (rc = CMD_CRLF_ON);
  148.                                break;
  149.         case GD_FF           : (info->flags & FLAG_FF) ?
  150.                                (rc = CMD_FF_OFF) : (rc = CMD_FF_ON);
  151.                                break;
  152.         case GD_PPrint       :
  153.         case GD_Print        : rc = CMD_PRINT;
  154.                                break;
  155.         default              : break;
  156.        }
  157.        break;
  158.   default                    : break;
  159.  }
  160.  return (rc);
  161. }
  162.  
  163.